package mapred.task;

import java.io.IOException;
import java.util.Iterator;

import mapred.AdvancedMapReduceBase;

import org.apache.hadoop.io.Writable;
import org.apache.hadoop.mapred.OutputCollector;
import org.apache.hadoop.mapred.Reducer;
import org.apache.hadoop.mapred.Reporter;

public abstract class AbstractReducer<Ki extends Writable, Vi extends Writable, Ko extends Writable, Vo extends Writable>
		extends AdvancedMapReduceBase implements Reducer<Ki, Vi, Ko, Vo> {

	@Override
	public abstract void reduce(Ki key, Iterator<Vi> values,
			OutputCollector<Ko, Vo> output, Reporter reporter)
			throws IOException;

}
